home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-06-21 | 14.0 KB | 468 lines | [TEXT/CWIE] |
- //===================================================================
- //======================= Headers =============================
-
- #include "BogusPhotoshop.h"
- #include "WindowManager.h"
- #include "Screen.h"
- #include "ApplicationEvents.h"
- #include "ApplicationHandler.h"
- #include "MenuBar.h"
-
- //===================================================================
- //======================= Globals =============================
-
- //===================================================================
- //======================= #define =============================
-
-
- //===================================================================
- //======================= Function Prototypes =====================
-
-
- /*----------------------------------------------------------------------------\
-
- BogusPhotoshop :: Constructor
-
- \----------------------------------------------------------------------------*/
- BogusPhotoshop :: BogusPhotoshop( void )
- : Application()
- {
- whichApp = 1;
- newWind = false;
- }
-
- /*----------------------------------------------------------------------------\
-
- BogusPhotoshop :: Init
-
- \----------------------------------------------------------------------------*/
- Boolean BogusPhotoshop :: Init( void )
- {
- Boolean allGood;
-
- allGood = ToolBar.SetUp( 133 , 59 , 370 , 4 , 22 );
-
- if( allGood )
- allGood = Navigator.SetUp( 136 , 208 , 125 , 812 , 22 );
-
- if( allGood )
- allGood = Color.SetUp( 134 , 208 , 125 , 812 , 149 );
-
- if( allGood )
- allGood = Actions.SetUp( 135 , 208 , 125 , 812 , 276 );
-
- if( allGood )
- allGood = LayerWindow.SetUp( 137 , 208 , 364 , 812 , 403 );
-
- if( allGood )
- {
- splash = new FloatWindow;
- splash->SetUp( 139 , 501 , 362 , 262 , 203 );
- finishSplash = TickCount() + 60;
-
- AddFrontWindow( splash );
- }
-
- if( allGood )
- {
- SetUpMenuItems();
- }
-
- return allGood;
- }
-
- /*----------------------------------------------------------------------------\
-
- BogusPhotoshop :: HandleEvent
-
- \----------------------------------------------------------------------------*/
- void BogusPhotoshop :: HandleEvent( ushort event , void *data )
- {
- switch( event )
- {
- case kAEMakeFrontAppEvent:
- ChangeActive( true );
- break;
-
- case kAEGoBackGroundEvent:
- ChangeActive( false );
- break;
-
- case kAEActivateEvent:
-
- break;
-
- case kAEDeactivateEvent:
-
- break;
-
- case kAEHideEvent:
-
- break;
-
- case kAEMenuSelect:
- HandleMenuSelect( ((AEMenuWhere *)data)->which , ((AEMenuWhere *)data)->num );
- break;
-
- case kAEProgramSpec:
- if( NewWindow )
- {
- RemoveFrontWindow( NewWindow );
- NewWindow = false;
-
- dc = new DifferenceCloud;
- dc->Init();
- dc->AddToUpdate();
- AddNormalWindow( dc );
- }
- break;
- }
- }
-
- /*----------------------------------------------------------------------------\
-
- BogusPhotoshop :: HandleMouseClick
-
- \----------------------------------------------------------------------------*/
- Boolean BogusPhotoshop :: HandleMouseClick( Boolean down, point where )
- {
- return WMHandleMouseClick( down , where );
- }
-
- /*----------------------------------------------------------------------------\
-
- BogusPhotoshop :: HandleMouseMove
-
- \----------------------------------------------------------------------------*/
- void BogusPhotoshop :: HandleMouseMove( point where )
- {
- WMHandleMouseMove( where );
- }
-
- /*----------------------------------------------------------------------------\
-
- BogusPhotoshop :: CleanUp
-
- \----------------------------------------------------------------------------*/
- void BogusPhotoshop :: CleanUp( rect *where )
- {
- // now clean up the windows
- DrawWindows( where );
- }
-
- /*----------------------------------------------------------------------------\
-
- BogusPhotoshop :: Maintance
-
- \----------------------------------------------------------------------------*/
- void BogusPhotoshop :: Maintance( void )
- {
- if( finishSplash != 0 && finishSplash < TickCount() )
- {
- RemoveFrontWindow( splash );
- finishSplash = 0;
-
- AddFrontWindow( &ToolBar );
- AddFrontWindow( &Navigator );
- AddFrontWindow( &Color );
- AddFrontWindow( &Actions );
- AddFrontWindow( &LayerWindow );
-
- //ugly...
- menuBar.AddMenuToList( &FileMenu );
- menuBar.AddMenuToList( &EditMenu );
- menuBar.AddMenuToList( &ImageMenu );
- menuBar.AddMenuToList( &LayerMenu );
- menuBar.AddMenuToList( &SelectMenu );
- menuBar.AddMenuToList( &FilterMenu );
- menuBar.AddMenuToList( &ViewMenu );
- menuBar.AddMenuToList( &WindowMenu );
- }
-
- if( dcTime != 0 && dcTime < TickCount() )
- {
- dc->DoJunk();
- dcTime = 0;
- }
-
- WMMaintance();
- }
-
- /*----------------------------------------------------------------------------\
-
- BogusPhotoshop :: ChangeActive
-
- \----------------------------------------------------------------------------*/
- void BogusPhotoshop :: ChangeActive( Boolean act )
- {
- if( act != active )
- {
- active = act;
-
- if( active )
- {
- if( finishSplash == 0 )
- {
- InitSpecialMenus();
- menuBar.AddMenuToList( &FileMenu );
- menuBar.AddMenuToList( &EditMenu );
- menuBar.AddMenuToList( &ImageMenu );
- menuBar.AddMenuToList( &LayerMenu );
- menuBar.AddMenuToList( &SelectMenu );
- menuBar.AddMenuToList( &FilterMenu );
- menuBar.AddMenuToList( &ViewMenu );
- menuBar.AddMenuToList( &WindowMenu );
- }
- else
- InitSpecialMenus();
-
- WMGoBackGround( false );
- }
- else
- {
- WMGoBackGround( true );
- }
- }
- }
-
- /*----------------------------------------------------------------------------\
-
- BogusPhotoshop :: SetUpMenuItems
-
- \----------------------------------------------------------------------------*/
- void BogusPhotoshop :: SetUpMenuItems( void )
- {
- AddMenuWindow( &appleMenu );
- AddMenuWindow( &AppSwitchMenu );
-
- FileMenu.SetWhichMenu( kFileMenuTitle );
- FileMenu.SetMaxItems( 23 );
- FileMenu.AddItem( 0 , "New..." , true );
- FileMenu.AddItem( 1 , "Open..." , true );
- FileMenu.AddItem( 2 , NULL , false );
- FileMenu.AddItem( 3 , "Close" , false );
- FileMenu.AddItem( 4 , "Save" , false );
- FileMenu.AddItem( 5 , "Save As..." , true );
- FileMenu.AddItem( 6 , "Save a Copy..." , true );
- FileMenu.AddItem( 7 , "Revert" , false );
- FileMenu.AddItem( 8 , NULL , false );
- FileMenu.AddItem( 9 , "Place..." , true );
- FileMenu.AddItem( 10 , NULL , false );
- FileMenu.AddItem( 11 , "Import" , true );
- FileMenu.AddItem( 12 , "Export" , true );
- FileMenu.AddItem( 13 , NULL , false );
- FileMenu.AddItem( 14 , "File Info..." , true );
- FileMenu.AddItem( 15 , NULL , false );
- FileMenu.AddItem( 16 , "Page Setup..." , true );
- FileMenu.AddItem( 17 , "Print..." , true );
- FileMenu.AddItem( 18 , NULL , false );
- FileMenu.AddItem( 19 , "Preferences" , true );
- FileMenu.AddItem( 20 , "Color Settings" , true );
- FileMenu.AddItem( 21 , NULL , false );
- FileMenu.AddItem( 22 , "Quit" , true );
- FileMenu.Init();
- AddMenuWindow( &FileMenu );
-
- EditMenu.SetWhichMenu( kEditMenuTitle );
- EditMenu.SetMaxItems( 20 );
- EditMenu.AddItem( 0 , "Can't Undo" , false );
- EditMenu.AddItem( 1 , NULL , false );
- EditMenu.AddItem( 2 , "Cut" , false );
- EditMenu.AddItem( 3 , "Copy" , false );
- EditMenu.AddItem( 4 , "Copy Merged" , false );
- EditMenu.AddItem( 5 , "Paste" , false );
- EditMenu.AddItem( 6 , "Paste Into" , false );
- EditMenu.AddItem( 7 , "Clear" , false );
- EditMenu.AddItem( 8 , NULL , false );
- EditMenu.AddItem( 9 , "Fill..." , true );
- EditMenu.AddItem( 10 , "Stroke..." , false );
- EditMenu.AddItem( 11 , NULL , false );
- EditMenu.AddItem( 12 , "Create Publisher..." , true );
- EditMenu.AddItem( 13 , "Publisher Options..." , false );
- EditMenu.AddItem( 14 , NULL , false );
- EditMenu.AddItem( 15 , "Define Pattern" , false );
- EditMenu.AddItem( 16 , "Take Snapshot" , true );
- EditMenu.AddItem( 17 , "Take Merged Snapshot" , false );
- EditMenu.AddItem( 18 , NULL , false );
- EditMenu.AddItem( 19 , "Purge" , false );
- EditMenu.Init();
- AddMenuWindow( &EditMenu );
-
- ImageMenu.SetWhichMenu( kImageMenuTitle );
- ImageMenu.SetMaxItems( 17 );
- ImageMenu.AddItem( 0 , "Mode" , true );
- ImageMenu.AddItem( 1 , NULL , false );
- ImageMenu.AddItem( 2 , "Adjust" , true );
- ImageMenu.AddItem( 3 , NULL , false );
- ImageMenu.AddItem( 4 , "Duplicate..." , true );
- ImageMenu.AddItem( 5 , "Apply Image..." , true );
- ImageMenu.AddItem( 6 , "Calculations..." , true );
- ImageMenu.AddItem( 7 , NULL , false );
- ImageMenu.AddItem( 8 , "Image Size..." , true );
- ImageMenu.AddItem( 9 , "Canvas Size..." , true );
- ImageMenu.AddItem( 10 , "Crop" , false );
- ImageMenu.AddItem( 11 , NULL , false );
- ImageMenu.AddItem( 12 , "Rotate Canvas" , true );
- ImageMenu.AddItem( 13 , NULL , false );
- ImageMenu.AddItem( 14 , "Histogram..." , true );
- ImageMenu.AddItem( 15 , NULL , false );
- ImageMenu.AddItem( 16 , "Trap..." , false );
- ImageMenu.Init();
- AddMenuWindow( &ImageMenu );
-
- LayerMenu.SetWhichMenu( kLayerMenuTitle );
- LayerMenu.SetMaxItems( 22 );
- LayerMenu.AddItem( 0 , "New" , true );
- LayerMenu.AddItem( 1 , "Duplicate Layer..." , true );
- LayerMenu.AddItem( 2 , "Delete Layer" , false );
- LayerMenu.AddItem( 3 , NULL , false );
- LayerMenu.AddItem( 4 , "Layer Options..." , false );
- LayerMenu.AddItem( 5 , "Adjustment Options..." , false );
- LayerMenu.AddItem( 6 , NULL , false );
- LayerMenu.AddItem( 7 , "Add Layer Mask" , false );
- LayerMenu.AddItem( 8 , "Enable Layer Mask" , false );
- LayerMenu.AddItem( 9 , NULL , false );
- LayerMenu.AddItem( 10 , "Group With Previous" , false );
- LayerMenu.AddItem( 11 , "Ungroup" , false );
- LayerMenu.AddItem( 12 , NULL , false );
- LayerMenu.AddItem( 13 , "Free Transform" , false );
- LayerMenu.AddItem( 14 , "Transform" , false );
- LayerMenu.AddItem( 15 , "Arrange" , false );
- LayerMenu.AddItem( 16 , NULL , false );
- LayerMenu.AddItem( 17 , "Merge Layers" , false );
- LayerMenu.AddItem( 18 , "Merge Visible" , false );
- LayerMenu.AddItem( 19 , "Flatten Image" , false );
- LayerMenu.AddItem( 20 , NULL , false );
- LayerMenu.AddItem( 21 , "Matting..." , false );
- LayerMenu.Init();
- AddMenuWindow( &LayerMenu );
-
- SelectMenu.SetWhichMenu( kSelectMenuTitle );
- SelectMenu.SetMaxItems( 14 );
- SelectMenu.AddItem( 0 , "All" , true );
- SelectMenu.AddItem( 1 , "None" , false );
- SelectMenu.AddItem( 2 , "Inverse" , false );
- SelectMenu.AddItem( 3 , NULL , false );
- SelectMenu.AddItem( 4 , "Color Range..." , true );
- SelectMenu.AddItem( 5 , NULL , false );
- SelectMenu.AddItem( 6 , "Feather..." , false );
- SelectMenu.AddItem( 7 , "Modify" , false );
- SelectMenu.AddItem( 8 , NULL , false );
- SelectMenu.AddItem( 9 , "Grow" , false );
- SelectMenu.AddItem( 10 , "Similar" , false );
- SelectMenu.AddItem( 11 , NULL , false );
- SelectMenu.AddItem( 12 , "Load Selection..." , false );
- SelectMenu.AddItem( 13 , "Save Selection..." , false );
- SelectMenu.Init();
- AddMenuWindow( &SelectMenu );
-
- FilterMenu.SetWhichMenu( kFilterMenuTitle );
- FilterMenu.SetMaxItems( 18 );
- FilterMenu.AddItem( 0 , "Last Filter" , false );
- FilterMenu.AddItem( 1 , "Fade..." , false );
- FilterMenu.AddItem( 2 , NULL , false );
- FilterMenu.AddItem( 3 , "Artistic" , true );
- FilterMenu.AddItem( 4 , "Blur" , true );
- FilterMenu.AddItem( 5 , "Brush Strokes" , true );
- FilterMenu.AddItem( 6 , "Distort" , true );
- FilterMenu.AddItem( 7 , "Noise" , true );
- FilterMenu.AddItem( 8 , "Pixelate" , true );
- FilterMenu.AddItem( 9 , "Render" , true );
- FilterMenu.AddItem( 10 , "Sharpen" , true );
- FilterMenu.AddItem( 11 , "Sketch" , true );
- FilterMenu.AddItem( 12 , "Stylize" , true );
- FilterMenu.AddItem( 13 , "Texture" , true );
- FilterMenu.AddItem( 14 , "Video" , true );
- FilterMenu.AddItem( 15 , "Other" , true );
- FilterMenu.AddItem( 16 , NULL , false );
- FilterMenu.AddItem( 17 , "Digimarc" , true );
- FilterMenu.Init();
- AddMenuWindow( &FilterMenu );
-
- ViewMenu.SetWhichMenu( kViewMenuTitle );
- ViewMenu.SetMaxItems( 23 );
- ViewMenu.AddItem( 0 , "New View" , true );
- ViewMenu.AddItem( 1 , NULL , false );
- ViewMenu.AddItem( 2 , "CMYK Preview" , true );
- ViewMenu.AddItem( 3 , "Gamut Warning" , true );
- ViewMenu.AddItem( 4 , NULL , false );
- ViewMenu.AddItem( 5 , "Zoom In" , true );
- ViewMenu.AddItem( 6 , "Zoom Out" , true );
- ViewMenu.AddItem( 7 , "Fit To Screen" , true );
- ViewMenu.AddItem( 8 , "Actual Pixels" , true );
- ViewMenu.AddItem( 9 , "Print Size" , true );
- ViewMenu.AddItem( 10 , NULL , false );
- ViewMenu.AddItem( 11 , "Hide Edges" , false );
- ViewMenu.AddItem( 12 , "Hide Path" , false );
- ViewMenu.AddItem( 13 , NULL , false );
- ViewMenu.AddItem( 14 , "Show Rulers" , true );
- ViewMenu.AddItem( 15 , NULL , false );
- ViewMenu.AddItem( 16 , "Hide Guides" , true );
- ViewMenu.AddItem( 17 , "Snap To Guides" , true );
- ViewMenu.AddItem( 18 , "Lock Guides" , true );
- ViewMenu.AddItem( 19 , "Clear Guides" , false );
- ViewMenu.AddItem( 20 , NULL , false );
- ViewMenu.AddItem( 21 , "Show Grid" , true );
- ViewMenu.AddItem( 22 , "Snap To Grid" , false );
- ViewMenu.Init();
- AddMenuWindow( &ViewMenu );
-
- WindowMenu.SetWhichMenu( kWindowMenuTitle );
- WindowMenu.SetMaxItems( 17 );
- WindowMenu.AddItem( 0 , "Hide Tools" , true );
- WindowMenu.AddItem( 1 , NULL , true );
- WindowMenu.AddItem( 2 , "Show Navigator" , true );
- WindowMenu.AddItem( 3 , "Hide Info" , true );
- WindowMenu.AddItem( 4 , "Show Options" , true );
- WindowMenu.AddItem( 5 , NULL , true );
- WindowMenu.AddItem( 6 , "Hide Color" , true );
- WindowMenu.AddItem( 7 , "Show Swatches" , true );
- WindowMenu.AddItem( 8 , "Show Brushes" , true );
- WindowMenu.AddItem( 9 , NULL , true );
- WindowMenu.AddItem( 10 , "Hide Layers" , true );
- WindowMenu.AddItem( 11 , "Show Channels" , true );
- WindowMenu.AddItem( 12 , "Show Paths" , true );
- WindowMenu.AddItem( 13 , NULL, true );
- WindowMenu.AddItem( 14 , "Hide Actions" , true );
- WindowMenu.AddItem( 15 , NULL , true );
- WindowMenu.AddItem( 16 , "Untitled-1 @ 100% (RGB)" , true );
- WindowMenu.Init();
- AddMenuWindow( &WindowMenu );
- }
-
- /*----------------------------------------------------------------------------\
-
- BogusPhotoshop :: HandleMenuSelect
-
- \----------------------------------------------------------------------------*/
- void BogusPhotoshop :: HandleMenuSelect( uchar which , uchar num )
- {
- switch( which )
- {
- case kFileMenuTitle:
- if( num == 0 )
- {
- newWind = true;
- NewWindow = new NewWindowWindow;
- NewWindow->Init();
- NewWindow->AddToUpdate();
- AddFrontWindow( NewWindow );
- }
- break;
-
- case kEditMenuTitle:
-
- break;
-
- case kViewMenuTitle:
-
- break;
-
- case kFilterMenuTitle:
- if( dc != NULL )
- {
- dcTime = TickCount() + 600;
- }
- break;
- }
- }